<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SSDP Help: D:/doxy/PublicAPI/ATDataCore/HATDef.h 文件参考</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">SSDP Help<span id="projectnumber">&#160;2.04.01</span>
   </div>
   <div id="projectbrief">仅供测试</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.3 -->
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',false,false,'search.php','搜索');
});
/* @license-end */
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_52a01df1794e5beec01860bdd05aea48.html">PublicAPI</a></li><li class="navelem"><a class="el" href="../../dir_4327875b5af0f0d2cd35b102dcf8c063.html">ATDataCore</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">宏定义</a> &#124;
<a href="#enum-members">枚举</a>  </div>
  <div class="headertitle"><div class="title">HATDef.h 文件参考</div></div>
</div><!--header-->
<div class="contents">

<p><a href="../../df/dc6/_h_a_t_def_8h_source.html">浏览源代码.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
宏定义</h2></td></tr>
<tr class="memitem:ab706154711845c560a2821b6645a62cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc6/_h_a_t_def_8h.html#ab706154711845c560a2821b6645a62cc">HATOBJECTR_DECLARE_MEMBERS_NO_CTOR</a>(__classname__,  __exporter__)</td></tr>
<tr class="separator:ab706154711845c560a2821b6645a62cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7b930e1689ab9f22604319546cb46a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc6/_h_a_t_def_8h.html#ae7b930e1689ab9f22604319546cb46a9">HATOBJECTR_DECLARE_MEMBERS</a>(__classname__,  __exporter__)</td></tr>
<tr class="separator:ae7b930e1689ab9f22604319546cb46a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa23773c1c1dab4a52b01f3335239f4f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc6/_h_a_t_def_8h.html#aa23773c1c1dab4a52b01f3335239f4f3">HATOBJECTR_DEFINE_MEMBERS</a>(__classname__)</td></tr>
<tr class="separator:aa23773c1c1dab4a52b01f3335239f4f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e5110592734d99f09fb1caeacff0cd3"><td class="memItemLeft" align="right" valign="top"><a id="a7e5110592734d99f09fb1caeacff0cd3" name="a7e5110592734d99f09fb1caeacff0cd3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>HATOBJECTR_ENTITY</b>(__classname__)&#160;&#160;&#160;__classname__::z_Get##__classname__##Entity()</td></tr>
<tr class="separator:a7e5110592734d99f09fb1caeacff0cd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae68da3d3eb63f513b8bfe2897fd2c6e9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc6/_h_a_t_def_8h.html#ae68da3d3eb63f513b8bfe2897fd2c6e9">HATOBJECTR_EXTENSION_DECLARE_MEMBERS</a>(__classname__,  __exporter__)</td></tr>
<tr class="separator:ae68da3d3eb63f513b8bfe2897fd2c6e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef5b96178eaa36e69473aabbbbd8df21"><td class="memItemLeft" align="right" valign="top"><a id="aef5b96178eaa36e69473aabbbbd8df21" name="aef5b96178eaa36e69473aabbbbd8df21"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>HATOBJECTR_EXTENSION_DEFINE_MEMBERS</b>(__classname__)&#160;&#160;&#160;    Handler::Extension::Token&amp; __classname__::z_Get##__classname__##Token(){static Handler::Extension::Token* s_token=0; if (0==s_token) s_token = NewToken(); return *s_token;}</td></tr>
<tr class="separator:aef5b96178eaa36e69473aabbbbd8df21"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
枚举</h2></td></tr>
<tr class="memitem:a8b919d759dba6371cb626184c4d4ebff"><td class="memItemLeft" align="right" valign="top"><a id="a8b919d759dba6371cb626184c4d4ebff" name="a8b919d759dba6371cb626184c4d4ebff"></a>enum class &#160;</td><td class="memItemRight" valign="bottom"><b>ExposeChildrenReason</b> { <b>Count</b> = 100
, <b>Query</b> = 200
, <b>Edit</b> = 300
 }</td></tr>
<tr class="separator:a8b919d759dba6371cb626184c4d4ebff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae50b1297df913937664c5a7f932091a5"><td class="memItemLeft" align="right" valign="top"><a id="ae50b1297df913937664c5a7f932091a5" name="ae50b1297df913937664c5a7f932091a5"></a>enum class &#160;</td><td class="memItemRight" valign="bottom"><b>SupportOperation</b> { <br />
&#160;&#160;<b>Selection</b> = 0
, <b>CellGroup</b> = 1
, <b>CellUnGroup</b> = 2
, <b>TransientManipulators</b> = 3
, <br />
&#160;&#160;<b>CacheCutGraphics</b> = 4
, <b>LineStyle</b> = 5
, <b>CustomHilite</b> = 6
<br />
 }</td></tr>
<tr class="separator:ae50b1297df913937664c5a7f932091a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accba8c84ffdfe37fc1bbae1c1c0b38d2"><td class="memItemLeft" align="right" valign="top"><a id="accba8c84ffdfe37fc1bbae1c1c0b38d2" name="accba8c84ffdfe37fc1bbae1c1c0b38d2"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>SubTypeHandlerPriority</b> { <br />
&#160;&#160;<b>SUBTYPEHANDLER_PRIORITY_Highest</b> = 1000
, <b>SUBTYPEHANDLER_PRIORITY_High</b> = 750
, <b>SUBTYPEHANDLER_PRIORITY_Normal</b> = 500
, <b>SUBTYPEHANDLER_PRIORITY_Low</b> = 250
, <br />
&#160;&#160;<b>SUBTYPEHANDLER_PRIORITY_Lowest</b> = 0
<br />
 }</td></tr>
<tr class="separator:accba8c84ffdfe37fc1bbae1c1c0b38d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><dl class="section author"><dt>作者</dt><dd>SZEWC </dd></dl>
<dl class="section date"><dt>日期</dt><dd>2022/04/28 </dd></dl>
</div><h2 class="groupheader">宏定义说明</h2>
<a id="ae7b930e1689ab9f22604319546cb46a9" name="ae7b930e1689ab9f22604319546cb46a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7b930e1689ab9f22604319546cb46a9">&#9670;&nbsp;</a></span>HATOBJECTR_DECLARE_MEMBERS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HATOBJECTR_DECLARE_MEMBERS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">__classname__, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">__exporter__&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>值:</b><div class="fragment"><div class="line">    <span class="keyword">protected</span>: __classname__() {}\</div>
<div class="line">    HATOBJECTR_DECLARE_MEMBERS_NO_CTOR(__classname__,__exporter__)</div>
</div><!-- fragment -->
</div>
</div>
<a id="ab706154711845c560a2821b6645a62cc" name="ab706154711845c560a2821b6645a62cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab706154711845c560a2821b6645a62cc">&#9670;&nbsp;</a></span>HATOBJECTR_DECLARE_MEMBERS_NO_CTOR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HATOBJECTR_DECLARE_MEMBERS_NO_CTOR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">__classname__, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">__exporter__&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>值:</b><div class="fragment"><div class="line">    <span class="keyword">private</span>:   __exporter__ <span class="keyword">static</span> __classname__*&amp; _PeekEntity(); \</div>
<div class="line">                            static __classname__* _CreateEntity(); \</div>
<div class="line">    public:    __exporter__ <span class="keyword">static</span> __classname__&amp; GetEntity() {<span class="keywordflow">return</span> z_Get##__classname__##Entity();}\</div>
<div class="line">                            static __classname__&amp; ReplaceIns() {<span class="keywordflow">return</span> *(_PeekEntity()=_CreateEntity());}\</div>
<div class="line">               __exporter__ <span class="keyword">static</span> __classname__&amp; z_Get##__classname__##Entity();</div>
</div><!-- fragment -->
</div>
</div>
<a id="aa23773c1c1dab4a52b01f3335239f4f3" name="aa23773c1c1dab4a52b01f3335239f4f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa23773c1c1dab4a52b01f3335239f4f3">&#9670;&nbsp;</a></span>HATOBJECTR_DEFINE_MEMBERS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HATOBJECTR_DEFINE_MEMBERS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">__classname__</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>值:</b><div class="fragment"><div class="line">    __classname__*  __classname__::_CreateEntity() {__classname__* entity= <span class="keyword">new</span> __classname__(); entity-&gt;SetSuperClass(&amp;T_Super::GetEntity()); <span class="keywordflow">return</span> entity;}\</div>
<div class="line">    __classname__*&amp; __classname__::_PeekEntity() {<span class="keyword">static</span> __classname__* s_entity = 0; <span class="keywordflow">return</span> s_entity;}\</div>
<div class="line">    __classname__&amp;  __classname__::z_Get##__classname__##Entity(){__classname__*&amp; entity=_PeekEntity(); <span class="keywordflow">if</span> (0 == entity) entity=_CreateEntity(); <span class="keywordflow">return</span> *entity;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae68da3d3eb63f513b8bfe2897fd2c6e9" name="ae68da3d3eb63f513b8bfe2897fd2c6e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae68da3d3eb63f513b8bfe2897fd2c6e9">&#9670;&nbsp;</a></span>HATOBJECTR_EXTENSION_DECLARE_MEMBERS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HATOBJECTR_EXTENSION_DECLARE_MEMBERS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">__classname__, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">__exporter__&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>值:</b><div class="fragment"><div class="line">    <span class="keyword">private</span>: __exporter__ <span class="keyword">static</span> Token&amp; z_Get##__classname__##Token();\</div>
<div class="line">    public: <span class="keyword">static</span> ATEC::ATECStatus RegisterExtension  (ATEC::ATDataCore::HandlerR handler, __classname__&amp; obj) {<span class="keywordflow">return</span> obj.RegisterExt(handler,z_Get##__classname__##Token());}\</div>
<div class="line">            static ATEC::ATECStatus DropExtension      (ATEC::ATDataCore::HandlerR handler) {<span class="keywordflow">return</span> DropExt(handler,z_Get##__classname__##Token());}\</div>
<div class="line">            static __classname__* Cast              (ATEC::ATDataCore::HandlerR handler) {<span class="keywordflow">return</span> (__classname__*) CastExt (handler,z_Get##__classname__##Token());}</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
</small></address>
</body>
</html>
